#include <head.h>

//线程任务
void *func_2(void *i)
{
    printf("我是%d号线程 func_2\n",*((int *)i));
}

void *func_1(void *v)
{
    pthread_t Tid[5];
    int arr[5] = {1,2,3,4,5};
    printf("我是主线程:func_1\n");

    //循环创建线程
    for (int i = 0; i < 5; i++)
    {
        if (0!=pthread_create(&Tid[i],NULL,func_2,(void*)&arr[i]))
        {
            perror("pthread_create error:\n");
            return 0;
        }
    }

    //循环回收进程
    for (int i = 0; i < 5; i++)
    {
        pthread_join(Tid[i],NULL);
    }
}

int main(int argc, char const *argv[])
{
    //接收信程号
    pthread_t Tid = 0;

    //创建线程
    if (0!=pthread_create(&Tid,NULL,func_1,NULL))
    {
        perror("pthread_create error:\n");
        return 0;
    }
    
    //阻塞回收
    pthread_join(Tid,NULL);
    return 0;
}
